Flash memory is a solid-state, non-volatile memory technology. Flash memory has become increasingly popular, and can be found in a broad array of devices. For example, flash memory is currently employed in mobile phones, digital cameras, digital audio players, and computer storage devices referred to as “solid-state drives.”
Each cell in a flash memory has a limited number of uses, after which the cell fails. For example, current flash memories guarantee 100,000 write-erase cycles. Flash memories indicate such failures, for example by setting a bit in a status register. Conventional flash memory controllers respond to the failure of a flash cell by “retiring” the cell, that is, by ceasing to use the cell in flash memory operations.
FIG. 1 shows a prior-art process 100 for retiring flash cells. Referring to FIG. 1, a flash memory controller writes data to a location in a flash memory at 102. At 104, if the flash memory does not indicate a write failure, then at 106 the flash memory controller continues to use the location, which includes a plurality of flash memory cells. But if at 104 the flash memory indicates a write failure, then at 108 the flash memory controller retires the location.